home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / TSMObject.xh < prev    next >
Text File  |  1996-05-01  |  15KB  |  569 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: TSMObject.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. #ifndef SOM_TSMObject_xh
  11. #define SOM_TSMObject_xh
  12.  
  13. class TSMObject;
  14.  
  15. #define TSMObject_MajorVersion 1
  16. #define TSMObject_MinorVersion 1
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_SOMObject_xh
  24. #include <somobj.xh>
  25. #endif
  26.  
  27. #ifndef TSMObject_API
  28. #define TSMObject_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of user-defined types:
  35.  */
  36. class SOMClass;
  37. class SOMObject;
  38. class HIWindow;
  39. class HIEmbeddingPanel;
  40.  
  41. /*
  42.  * End of user-defined types.
  43.  */
  44.  
  45. #ifdef OLDIBMSOMAPISUPPORT
  46. #define TSMObjectCClassData TSMObjectClassData
  47. #define TSMObjectNewClass(major,minor) somNewVersionedClassReference(TSMObject,major,minor)
  48. #endif
  49.  
  50. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  51. #define TSMObjectMetaClass SOMClass
  52.  
  53. #if PRAGMA_ALIGN_SUPPORTED
  54. #  pragma options align=power
  55. #endif
  56.  
  57. /* The API to the TSMObject class object, and the methods it introduces. */
  58. SOMEXTERN struct TSMObjectClassDataStructure {
  59. #ifdef OLDIBMSOMAPISUPPORT
  60.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  61. #else
  62.     long zero;
  63. #endif
  64.     somStaticClassInfo *sci;
  65.     somDToken        instanceDataToken;
  66.     long reserved [3];
  67.     somMToken _get_fTSMContext;
  68.     somMToken _set_fTSMContext;
  69.     somMToken _get_fStatus;
  70.     somMToken _set_fStatus;
  71.     somMToken _get_fServiceContext;
  72.     somMToken _set_fServiceContext;
  73.     somMToken InitializeService;
  74.     somMToken TerminateService;
  75.     somMToken ServiceChanged;
  76.     somMToken EditInlineHole;
  77.     somMToken FeatureChanged;
  78.     somMToken ActivateService;
  79.     somMToken DeactivateService;
  80.     somMToken ServiceKeyEvent;
  81.     somMToken ServiceMouseEvent;
  82.     somMToken ServiceWindowEvent;
  83.     somMToken ReleaseInlineHoles;
  84.     somMToken HideServiceWindows;
  85.     somMToken DoSetCursor;
  86.     somMToken TerminateInput;
  87. } SOMDLINK TSMObjectClassData;
  88.  
  89. #if PRAGMA_ALIGN_SUPPORTED
  90. #  pragma options align=reset
  91. #endif
  92.  
  93. #if !defined(TSMObject_Class_Source) && !defined(SOM_Module_tsmobject_Source)
  94. #if PRAGMA_IMPORT_SUPPORTED
  95. #pragma import list TSMObjectClassData
  96. #endif
  97. #endif
  98.  
  99.  
  100. /*
  101.  * -- Typedefs for TSMObject Method Procedures
  102.  */
  103. SOMEXTERN {
  104. typedef TSMContext   (* SOMLINK somTD_TSMObject__get_fTSMContext)(TSMObject *somSelf, Environment *ev);
  105. typedef void   (* SOMLINK somTD_TSMObject__set_fTSMContext)(TSMObject *somSelf, Environment *ev,
  106.         TSMContext fTSMContext);
  107. typedef OSStatus   (* SOMLINK somTD_TSMObject__get_fStatus)(TSMObject *somSelf, Environment *ev);
  108. typedef void   (* SOMLINK somTD_TSMObject__set_fStatus)(TSMObject *somSelf, Environment *ev,
  109.         OSStatus fStatus);
  110. typedef TSMServiceContextRef   (* SOMLINK somTD_TSMObject__get_fServiceContext)(TSMObject *somSelf, Environment *ev);
  111. typedef void   (* SOMLINK somTD_TSMObject__set_fServiceContext)(TSMObject *somSelf, Environment *ev,
  112.         TSMServiceContextRef fServiceContext);
  113. typedef OSStatus   (* SOMLINK somTD_TSMObject_InitializeService)(TSMObject *somSelf, Environment *ev);
  114. typedef OSStatus   (* SOMLINK somTD_TSMObject_TerminateService)(TSMObject *somSelf, Environment *ev);
  115. typedef OSStatus   (* SOMLINK somTD_TSMObject_ServiceChanged)(TSMObject *somSelf, Environment *ev);
  116. typedef OSStatus   (* SOMLINK somTD_TSMObject_EditInlineHole)(TSMObject *somSelf, Environment *ev,
  117.         AppleEvent* theEvent);
  118. typedef OSStatus   (* SOMLINK somTD_TSMObject_FeatureChanged)(TSMObject *somSelf, Environment *ev,
  119.         UInt32 theType);
  120. typedef OSStatus   (* SOMLINK somTD_TSMObject_ActivateService)(TSMObject *somSelf, Environment *ev);
  121. typedef OSStatus   (* SOMLINK somTD_TSMObject_DeactivateService)(TSMObject *somSelf, Environment *ev);
  122. typedef OSStatus   (* SOMLINK somTD_TSMObject_ServiceMouseEvent)(TSMObject *somSelf, Environment *ev,
  123.         Point* mousePos,
  124.         KeyboardModifiers Modifiers,
  125.         UInt32 when,
  126.         UInt32 theEventType,
  127.         AppleEvent* event);
  128. typedef OSStatus   (* SOMLINK somTD_TSMObject_ServiceKeyEvent)(TSMObject *somSelf, Environment *ev,
  129.         KeyboardModifiers Modifiers,
  130.         VirtualKeyCode theKeyCode,
  131.         VirtualKeyCode theCharCode,
  132.         AppleEvent* event);
  133. typedef OSStatus   (* SOMLINK somTD_TSMObject_ServiceWindowEvent)(TSMObject *somSelf, Environment *ev,
  134.         HIWindow* theWindow,
  135.         UInt32 theEventType,
  136.         AppleEvent* event);
  137. typedef OSStatus   (* SOMLINK somTD_TSMObject_HideServiceWindows)(TSMObject *somSelf, Environment *ev);
  138. typedef OSStatus   (* SOMLINK somTD_TSMObject_DoSetCursor)(TSMObject *somSelf, Environment *ev,
  139.         Point* mousePos,
  140.         RegionClass rgnClass,
  141.         ByteOffset offset,
  142.         boolean isLeftHand,
  143.         AppleEvent* theEvent);
  144. typedef OSStatus   (* SOMLINK somTD_TSMObject_ReleaseInlineHoles)(TSMObject *somSelf, Environment *ev);
  145. typedef OSStatus   (* SOMLINK somTD_TSMObject_TerminateInput)(TSMObject *somSelf, Environment *ev);
  146.  
  147. /*
  148.  * -- Typedefs for Inherited Methods
  149.  */
  150. typedef void   (* SOMLINK somTD_TSMObject_somInit)(TSMObject *somSelf);
  151. typedef void   (* SOMLINK somTD_TSMObject_somUninit)(TSMObject *somSelf);
  152. typedef SOMObject*   (* SOMLINK somTD_TSMObject_somDuplicateReference)(TSMObject *somSelf);
  153. typedef boolean   (* SOMLINK somTD_TSMObject_somCompareReference)(TSMObject *somSelf,
  154.         SOMObject* anObject);
  155. typedef SOMObject*   (* SOMLINK somTD_TSMObject_somRelease)(TSMObject *somSelf);
  156. typedef void   (* SOMLINK somTD_TSMObject_somFree)(TSMObject *somSelf);
  157. typedef boolean   (* SOMLINK somTD_TSMObject_somCanDelete)(TSMObject *somSelf);
  158. typedef SOMClass*   (* SOMLINK somTD_TSMObject_somGetClass)(TSMObject *somSelf);
  159. typedef corbastring   (* SOMLINK somTD_TSMObject_somGetClassName)(TSMObject *somSelf);
  160. typedef long   (* SOMLINK somTD_TSMObject_somGetSize)(TSMObject *somSelf);
  161. typedef boolean   (* SOMLINK somTD_TSMObject_somIsA)(TSMObject *somSelf,
  162.         SOMClass* aClassObj);
  163. typedef boolean   (* SOMLINK somTD_TSMObject_somRespondsTo)(TSMObject *somSelf,
  164.         somId mId);
  165. typedef boolean   (* SOMLINK somTD_TSMObject_somIsInstanceOf)(TSMObject *somSelf,
  166.         SOMClass* aClassObj);
  167. typedef boolean   (* SOMLINK somTD_TSMObject_somDispatch)(TSMObject *somSelf,
  168.         somToken* retValue,
  169.         somId methodId,
  170.         va_list ap);
  171. typedef boolean   (* SOMLINK somTD_TSMObject_somClassDispatch)(TSMObject *somSelf,
  172.         SOMClass* clsObj,
  173.         somToken* retValue,
  174.         somId methodId,
  175.         va_list ap);
  176. typedef boolean   (* SOMLINK somTD_TSMObject_somCastObj)(TSMObject *somSelf,
  177.         SOMClass* cls);
  178. typedef boolean   (* SOMLINK somTD_TSMObject_somResetObj)(TSMObject *somSelf);
  179. typedef SOMObject*   (* SOMLINK somTD_TSMObject_somPrintSelf)(TSMObject *somSelf);
  180. typedef void   (* SOMLINK somTD_TSMObject_somDumpSelf)(TSMObject *somSelf,
  181.         long level);
  182. typedef void   (* SOMLINK somTD_TSMObject_somDumpSelfInt)(TSMObject *somSelf,
  183.         long level);
  184. }
  185.  
  186. #endif /* TSMObject_API */
  187.  
  188.  
  189. /*
  190.  * -- This emitter treats Method Tokens as Thunks by default.
  191.  * -- Use the sc modifier "nothunks" to change this default
  192.  */
  193. #undef somresolve_
  194. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  195.  
  196. /*
  197.  * -- The C++ Wrapper Class for TSMObject
  198.  */
  199. class TSMObject : public SOMObject
  200. {
  201. public:
  202.  
  203. // TSMObject::new registers use of the class object, and then uses somNew
  204. // to allocate memory and load the object method table pointer. 
  205. void *operator new(size_t size)
  206. {
  207.     SOM_IgnoreWarning(size);
  208.     // Allocate memory using the default allocator for TSMObject, and
  209.     // clear mem & set method table pointer, call basic initialization
  210.     return (void*) somNewObject(TSMObject);
  211. }
  212.  
  213. // TSMObject::delete uses the default deallocator for the object's class.
  214. void operator delete(void * obj)
  215. {
  216.     if (obj) {
  217.         SOM_Resolve(obj,SOMObject,somFree)
  218.            ( (SOMObject*) obj );
  219.     }
  220. }
  221.  
  222. /* method: _get_fTSMContext */
  223. TSMContext   _get_fTSMContext(Environment *ev)
  224. {
  225.    return SOM_ResolveD(this,TSMObject,TSMObject,_get_fTSMContext)
  226.     (this,ev);
  227. }
  228.  
  229. /* method: _set_fTSMContext */
  230. void   _set_fTSMContext(Environment *ev,
  231.         TSMContext fTSMContext)
  232. {
  233.    SOM_ResolveD(this,TSMObject,TSMObject,_set_fTSMContext)
  234.     (this,ev,fTSMContext);
  235. }
  236.  
  237. /* method: _get_fStatus */
  238. OSStatus   _get_fStatus(Environment *ev)
  239. {
  240.    return SOM_ResolveD(this,TSMObject,TSMObject,_get_fStatus)
  241.     (this,ev);
  242. }
  243.  
  244. /* method: _set_fStatus */
  245. void   _set_fStatus(Environment *ev,
  246.         OSStatus fStatus)
  247. {
  248.    SOM_ResolveD(this,TSMObject,TSMObject,_set_fStatus)
  249.     (this,ev,fStatus);
  250. }
  251.  
  252. /* method: _get_fServiceContext */
  253. TSMServiceContextRef   _get_fServiceContext(Environment *ev)
  254. {
  255.    return SOM_ResolveD(this,TSMObject,TSMObject,_get_fServiceContext)
  256.     (this,ev);
  257. }
  258.  
  259. /* method: _set_fServiceContext */
  260. void   _set_fServiceContext(Environment *ev,
  261.         TSMServiceContextRef fServiceContext)
  262. {
  263.    SOM_ResolveD(this,TSMObject,TSMObject,_set_fServiceContext)
  264.     (this,ev,fServiceContext);
  265. }
  266.  
  267. /* method: InitializeService */
  268. OSStatus   InitializeService(Environment *ev)
  269. {
  270.    return SOM_ResolveD(this,TSMObject,TSMObject,InitializeService)
  271.     (this,ev);
  272. }
  273.  
  274. /* method: TerminateService */
  275. OSStatus   TerminateService(Environment *ev)
  276. {
  277.    return SOM_ResolveD(this,TSMObject,TSMObject,TerminateService)
  278.     (this,ev);
  279. }
  280.  
  281. /* method: ServiceChanged */
  282. OSStatus   ServiceChanged(Environment *ev)
  283. {
  284.    return SOM_ResolveD(this,TSMObject,TSMObject,ServiceChanged)
  285.     (this,ev);
  286. }
  287.  
  288. /* method: EditInlineHole */
  289. OSStatus   EditInlineHole(Environment *ev,
  290.         AppleEvent* theEvent)
  291. {
  292.    return SOM_ResolveD(this,TSMObject,TSMObject,EditInlineHole)
  293.     (this,ev,theEvent);
  294. }
  295.  
  296. /* method: FeatureChanged */
  297. OSStatus   FeatureChanged(Environment *ev,
  298.         UInt32 theType)
  299. {
  300.    return SOM_ResolveD(this,TSMObject,TSMObject,FeatureChanged)
  301.     (this,ev,theType);
  302. }
  303.  
  304. /* method: ActivateService */
  305. OSStatus   ActivateService(Environment *ev)
  306. {
  307.    return SOM_ResolveD(this,TSMObject,TSMObject,ActivateService)
  308.     (this,ev);
  309. }
  310.  
  311. /* method: DeactivateService */
  312. OSStatus   DeactivateService(Environment *ev)
  313. {
  314.    return SOM_ResolveD(this,TSMObject,TSMObject,DeactivateService)
  315.     (this,ev);
  316. }
  317.  
  318. /* method: ServiceMouseEvent */
  319. OSStatus   ServiceMouseEvent(Environment *ev,
  320.         Point* mousePos,
  321.         KeyboardModifiers Modifiers,
  322.         UInt32 when,
  323.         UInt32 theEventType,
  324.         AppleEvent* event)
  325. {
  326.    return SOM_ResolveD(this,TSMObject,TSMObject,ServiceMouseEvent)
  327.     (this,ev,mousePos,Modifiers,when,theEventType,event);
  328. }
  329.  
  330. /* method: ServiceKeyEvent */
  331. OSStatus   ServiceKeyEvent(Environment *ev,
  332.         KeyboardModifiers Modifiers,
  333.         VirtualKeyCode theKeyCode,
  334.         VirtualKeyCode theCharCode,
  335.         AppleEvent* event)
  336. {
  337.    return SOM_ResolveD(this,TSMObject,TSMObject,ServiceKeyEvent)
  338.     (this,ev,Modifiers,theKeyCode,theCharCode,event);
  339. }
  340.  
  341. /* method: ServiceWindowEvent */
  342. OSStatus   ServiceWindowEvent(Environment *ev,
  343.         HIWindow* theWindow,
  344.         UInt32 theEventType,
  345.         AppleEvent* event)
  346. {
  347.    return SOM_ResolveD(this,TSMObject,TSMObject,ServiceWindowEvent)
  348.     (this,ev,theWindow,theEventType,event);
  349. }
  350.  
  351. /* method: HideServiceWindows */
  352. OSStatus   HideServiceWindows(Environment *ev)
  353. {
  354.    return SOM_ResolveD(this,TSMObject,TSMObject,HideServiceWindows)
  355.     (this,ev);
  356. }
  357.  
  358. /* method: DoSetCursor */
  359. OSStatus   DoSetCursor(Environment *ev,
  360.         Point* mousePos,
  361.         RegionClass rgnClass,
  362.         ByteOffset offset,
  363.         boolean isLeftHand,
  364.         AppleEvent* theEvent)
  365. {
  366.    return SOM_ResolveD(this,TSMObject,TSMObject,DoSetCursor)
  367.     (this,ev,mousePos,rgnClass,offset,isLeftHand,theEvent);
  368. }
  369.  
  370. /* method: ReleaseInlineHoles */
  371. OSStatus   ReleaseInlineHoles(Environment *ev)
  372. {
  373.    return SOM_ResolveD(this,TSMObject,TSMObject,ReleaseInlineHoles)
  374.     (this,ev);
  375. }
  376.  
  377. /* method: TerminateInput */
  378. OSStatus   TerminateInput(Environment *ev)
  379. {
  380.    return SOM_ResolveD(this,TSMObject,TSMObject,TerminateInput)
  381.     (this,ev);
  382. }
  383.  
  384.  
  385. /*
  386.  * -- Inherited methods
  387.  */
  388. /* method: somInit */
  389. void   somInit()
  390. {
  391.    SOM_ResolveD(this,TSMObject,SOMObject,somInit)
  392.     (this);
  393. }
  394.  
  395. /* method: somUninit */
  396. void   somUninit()
  397. {
  398.    SOM_ResolveD(this,TSMObject,SOMObject,somUninit)
  399.     (this);
  400. }
  401.  
  402. /* method: somDuplicateReference */
  403. SOMObject*   somDuplicateReference()
  404. {
  405.    return SOM_ResolveD(this,TSMObject,SOMObject,somDuplicateReference)
  406.     (this);
  407. }
  408.  
  409. /* method: somCompareReference */
  410. boolean   somCompareReference(SOMObject* anObject)
  411. {
  412.    return SOM_ResolveD(this,TSMObject,SOMObject,somCompareReference)
  413.     (this,anObject);
  414. }
  415.  
  416. /* method: somRelease */
  417. SOMObject*   somRelease()
  418. {
  419.    return SOM_ResolveD(this,TSMObject,SOMObject,somRelease)
  420.     (this);
  421. }
  422.  
  423. /* method: somFree */
  424. void   somFree()
  425. {
  426.    SOM_ResolveD(this,TSMObject,SOMObject,somFree)
  427.     (this);
  428. }
  429.  
  430. /* method: somCanDelete */
  431. boolean   somCanDelete()
  432. {
  433.    return SOM_ResolveD(this,TSMObject,SOMObject,somCanDelete)
  434.     (this);
  435. }
  436.  
  437. /* method: somGetClass */
  438. SOMClass*   somGetClass()
  439. {
  440.    return SOM_ResolveD(this,TSMObject,SOMObject,somGetClass)
  441.     (this);
  442. }
  443.  
  444. /* method: somGetClassName */
  445. corbastring   somGetClassName()
  446. {
  447.    return SOM_ResolveD(this,TSMObject,SOMObject,somGetClassName)
  448.     (this);
  449. }
  450.  
  451. /* method: somGetSize */
  452. long   somGetSize()
  453. {
  454.    return SOM_ResolveD(this,TSMObject,SOMObject,somGetSize)
  455.     (this);
  456. }
  457.  
  458. /* method: somIsA */
  459. boolean   somIsA(SOMClass* aClassObj)
  460. {
  461.    return SOM_ResolveD(this,TSMObject,SOMObject,somIsA)
  462.     (this,aClassObj);
  463. }
  464.  
  465. /* method: somRespondsTo */
  466. boolean   somRespondsTo(somId mId)
  467. {
  468.    return SOM_ResolveD(this,TSMObject,SOMObject,somRespondsTo)
  469.     (this,mId);
  470. }
  471.  
  472. /* method: somIsInstanceOf */
  473. boolean   somIsInstanceOf(SOMClass* aClassObj)
  474. {
  475.    return SOM_ResolveD(this,TSMObject,SOMObject,somIsInstanceOf)
  476.     (this,aClassObj);
  477. }
  478.  
  479. /* va_list method: somDispatch */
  480. /* the va_list invocation form */
  481. boolean   TSMObject_somDispatch(somToken* retValue,
  482.         somId methodId,
  483.         va_list ap)
  484. {
  485.    return SOM_ResolveD(this,TSMObject,SOMObject,somDispatch)
  486.     (this,retValue,methodId,ap);
  487. }
  488.  
  489. /* the varargs invocation form */
  490. boolean   somDispatch(somToken* retValue,
  491.         somId methodId,
  492.         ...)
  493. {
  494.    va_list ap;
  495.    va_start(ap, methodId);
  496.       boolean __somResult = 
  497.       (boolean) SOM_ResolveD(this,TSMObject,SOMObject,somDispatch)
  498.     (this,retValue,methodId,ap);
  499.    va_end(ap);
  500.    return __somResult;
  501. }
  502.  
  503. /* va_list method: somClassDispatch */
  504. /* the va_list invocation form */
  505. boolean   TSMObject_somClassDispatch(SOMClass* clsObj,
  506.         somToken* retValue,
  507.         somId methodId,
  508.         va_list ap)
  509. {
  510.    return SOM_ResolveD(this,TSMObject,SOMObject,somClassDispatch)
  511.     (this,clsObj,retValue,methodId,ap);
  512. }
  513.  
  514. /* the varargs invocation form */
  515. boolean   somClassDispatch(SOMClass* clsObj,
  516.         somToken* retValue,
  517.         somId methodId,
  518.         ...)
  519. {
  520.    va_list ap;
  521.    va_start(ap, methodId);
  522.       boolean __somResult = 
  523.       (boolean) SOM_ResolveD(this,TSMObject,SOMObject,somClassDispatch)
  524.     (this,clsObj,retValue,methodId,ap);
  525.    va_end(ap);
  526.    return __somResult;
  527. }
  528.  
  529. /* method: somCastObj */
  530. boolean   somCastObj(SOMClass* cls)
  531. {
  532.    return SOM_ResolveD(this,TSMObject,SOMObject,somCastObj)
  533.     (this,cls);
  534. }
  535.  
  536. /* method: somResetObj */
  537. boolean   somResetObj()
  538. {
  539.    return SOM_ResolveD(this,TSMObject,SOMObject,somResetObj)
  540.     (this);
  541. }
  542.  
  543. /* method: somPrintSelf */
  544. SOMObject*   somPrintSelf()
  545. {
  546.    return SOM_ResolveD(this,TSMObject,SOMObject,somPrintSelf)
  547.     (this);
  548. }
  549.  
  550. /* method: somDumpSelf */
  551. void   somDumpSelf(long level)
  552. {
  553.    SOM_ResolveD(this,TSMObject,SOMObject,somDumpSelf)
  554.     (this,level);
  555. }
  556.  
  557. /* method: somDumpSelfInt */
  558. void   somDumpSelfInt(long level)
  559. {
  560.    SOM_ResolveD(this,TSMObject,SOMObject,somDumpSelfInt)
  561.     (this,level);
  562. }
  563.  
  564. };   /* TSMObject */
  565.  
  566.  
  567.  
  568. #endif       /* SOM_TSMObject_xh */
  569.